home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWPart / Include / FWFrame.h < prev    next >
Encoding:
Text File  |  1996-04-25  |  30.2 KB  |  838 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWFrame.h
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:            (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWFRAME_H
  11. #define FWFRAME_H
  12.  
  13. #ifndef FWEVENT_H
  14. #include "FWEvent.h"
  15. #endif
  16.  
  17. #ifndef FWPRTDEF_H
  18. #include "FWPrtDef.h"
  19. #endif
  20.  
  21. #ifndef FWSVIEW_H
  22. #include "FWSView.h"
  23. #endif
  24.  
  25. #ifndef FWUTIL_H
  26. #include "FWUtil.h"
  27. #endif
  28.  
  29. #ifndef FWDRGDRP_H
  30. #include "FWDrgDrp.h"
  31. #endif
  32.  
  33. // ----- OS Includes -----
  34.  
  35. #ifndef FWRECT_H
  36. #include "FWRect.h"
  37. #endif
  38.  
  39. #ifndef FWFCTINF_H
  40. #include "FWFctInf.h"
  41. #endif
  42.  
  43. #ifndef FWACQUIR_H
  44. #include "FWAcquir.h"
  45. #endif
  46.  
  47. #ifndef FWICON_H
  48. #include "FWIcon.h"
  49. #endif
  50.  
  51. // ----- Foundation Includes -----
  52.  
  53. #ifndef FWRUNTYP_H
  54. #include "FWRunTyp.h"
  55. #endif
  56.  
  57. #ifndef FWSTDDEF_H
  58. #include "FWStdDef.h"
  59. #endif
  60.  
  61. #ifndef FWSTRING_H
  62. #include "FWString.h"
  63. #endif
  64.  
  65. // ----- OpenDoc Includes -----
  66.  
  67. #ifndef SOM_ODFrame_xh
  68. #include <Frame.xh>
  69. #endif
  70.  
  71. #ifndef FWODTYPS_H
  72. #include "FWODTyps.h"
  73. #endif
  74.  
  75. #ifndef SOM_ODStorageUnit_xh
  76. #include <StorageU.xh>
  77. #endif
  78.  
  79. //========================================================================================
  80. //    Forward Declaration
  81. //========================================================================================
  82.  
  83. class ODFacet;
  84. class ODWindow;
  85. class ODShape;
  86. class ODFocusSet;
  87. class ODStorageUnitView;
  88.  
  89. class FW_CPart;
  90. class FW_CMenuBar;
  91. class FW_CMenuEvent;
  92. class FW_CWindow;
  93. class FW_CGraphicDevice;
  94. class FW_CFacetContext;
  95. class FW_CMouseEvent;
  96. class FW_CActivateEvent;
  97. class FW_CClipboardCommand;
  98. class FW_CPresentation;
  99. class FW_CResumeSuspendEvent;
  100. class FW_CCloneInfo;
  101. class FW_CViewAs;
  102. class FW_CInterest;
  103. class FW_CPrintHandler;
  104. class FW_CScrollingViewIterator;
  105. class FW_CIdler;
  106. class FW_CScroller;
  107. class FW_MDraggableFrame;
  108. class FW_MDroppableFrame;
  109. class FW_CButton;
  110.  
  111. //========================================================================================
  112. //    class FW_CFrame
  113. //========================================================================================
  114.  
  115. class FW_CFrame : public FW_CSuperView
  116. {
  117. public:
  118.     FW_DECLARE_CLASS
  119.     FW_DECLARE_AUTO(FW_CFrame)
  120.  
  121.     friend class FW_CPart;
  122.     friend class FW_CIdler;
  123.  
  124. //----------------------------------------------------------------------------------------
  125. //    Constructors/Destructors
  126. //
  127. public:
  128.     FW_CFrame(Environment*            ev,
  129.                 ODFrame*             frame, 
  130.                 FW_CPresentation*     presentation,
  131.                 FW_CPart*             part,
  132.                 FW_ResourceId        id = 0);            
  133.     virtual ~ FW_CFrame();
  134.  
  135. //----------------------------------------------------------------------------------------
  136. //    API from ODFrame (some are just inlines)
  137. //
  138. public:
  139.     ODID                        GetFrameGroup(Environment* ev) const;
  140.     ODID                        GetSequenceNumber(Environment* ev) const;
  141.  
  142.     FW_Boolean                    IsPersistent(Environment* ev) const;
  143.                         
  144.     FW_Boolean                    IsRoot(Environment* ev) const;
  145.  
  146.     FW_Boolean                    IsSubframe(Environment* ev) const;
  147.     void                        SetSubframe(Environment* ev, 
  148.                                     FW_Boolean isSubframe);
  149.  
  150.     FW_Boolean                    IsOverlaid(Environment* ev) const;
  151.  
  152.     FW_Boolean                    IsInLimbo(Environment* ev) const;
  153.     
  154.     FW_Boolean                    IsFrozen(Environment* ev) const;
  155.     void                        SetFrozen(Environment* ev, 
  156.                                     FW_Boolean isFrozen);
  157.  
  158.     FW_Boolean                    DoesPropagateEvents(Environment* ev) const;
  159.     void                        SetPropagateEvents(Environment* ev, 
  160.                                     FW_Boolean doesPropagateEvents);
  161.  
  162.     FW_CPresentation*            GetPresentation(Environment* ev) const;
  163.     ODTypeToken                    GetViewType(Environment* ev) const;
  164.  
  165.     void                        ChangeUsedShape(Environment* ev, 
  166.                                     ODShape* newUsedShape, 
  167.                                     ODCanvas* biasCanvas = NULL);
  168.     FW_Boolean                    RequestFrameShape(Environment* ev, 
  169.                                     ODShape* shape,
  170.                                     ODCanvas* biasCanvas = NULL);
  171.  
  172.     ODShape*                    AcquireUsedShape(Environment* ev, 
  173.                                     ODCanvas* biasCanvas = NULL) const;    
  174.     ODTransform*                AcquireInternalTransform(Environment* ev, 
  175.                                     ODCanvas* biasCanvas = NULL) const;    
  176.     ODShape*                    AcquireFrameShape(Environment* ev, 
  177.                                     ODCanvas* biasCanvas = NULL) const;
  178.  
  179.     ODFrame*                    AcquireContainingFrame(Environment* ev) const;
  180.     
  181.     ODWindow*                    AcquireODWindow(Environment* ev) const;
  182.  
  183.     ODID                        GetID(Environment* ev) const;
  184.     
  185.     void                        ChangeInternalTransform(Environment* ev, 
  186.                                     ODTransform* internalTransform,
  187.                                     ODCanvas* biasCanvas = NULL);
  188.                                     
  189. //----------------------------------------------------------------------------------------
  190. //    Inherited from FW_MEventHandler
  191. //
  192. public:
  193.     // ----- Events -----
  194.     virtual FW_MEventHandler*    GetTarget(Environment* ev) const;
  195.     virtual void                SetTarget(Environment* ev, FW_MEventHandler* theTarget);
  196.     virtual FW_Boolean            WantsToBeTarget(Environment* ev);
  197.     virtual FW_Boolean             HandleIdle(Environment* ev, const FW_CNullEvent& theNullEvent);
  198.  
  199.     // ----- Menus -----
  200.     virtual FW_Boolean            HandleAdjustMenus(Environment* ev, FW_CMenuBar* menuBar, FW_Boolean hasMenuFocus, FW_Boolean isRoot);
  201.     virtual FW_Boolean             HandleMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent);
  202.  
  203. //----------------------------------------------------------------------------------------
  204. //    Inherited from FW_CSuperView
  205. //
  206. public:
  207.     virtual void                SetLocation(Environment* ev, const FW_CPoint& location, FW_Boolean redraw = TRUE);
  208.     virtual void                HandleActivateEvent(Environment* ev, const FW_CActivateEvent& theActivateEvent);    
  209.  
  210. //----------------------------------------------------------------------------------------
  211. //    New API
  212. //
  213. public:
  214.     // ----- Drag and Drop -----
  215.     FW_MDraggableFrame*            GetDraggable(Environment* ev) const;
  216.     FW_MDroppableFrame*            GetDroppable(Environment* ev) const;
  217.  
  218.     FW_Boolean                    IsTopFrame(Environment* ev) const;
  219.     
  220.     static FW_CFrame*             ODtoFWFrame(Environment* ev, ODFrame* odFrame);
  221.     ODFrame*                    GetODFrame(Environment *ev) const;
  222.  
  223.     FW_Boolean                    IsSiblingFrameOf(Environment *ev, ODFrame* otherODFrame) const;
  224.     FW_Boolean                    HasSamePartEditorAs(Environment *ev, ODFrame* otherODFrame) const;
  225.  
  226.     // ----- Mouse Tracking -----
  227.     virtual FW_Boolean            AdjustCursor(Environment* ev, ODFacet* odFacet, const FW_CPoint& theMousePoint);
  228.     FW_Boolean                    HandleMouseEnter(Environment* ev, ODFacet* odFacet, const FW_CPoint& where);
  229.     FW_Boolean                    HandleMouseLeave(Environment* ev, ODFacet* odFacet);
  230.     FW_Boolean                    HandleMouseWithin(Environment* ev, ODFacet* odFacet, const FW_CPoint& theMousePoint);
  231.         
  232.     // ----- Events ------
  233.     FW_Boolean                    HandleSuspendResumeEvent(Environment* ev, const FW_CSuspendResumeEvent& theResumeSuspendEvent);
  234. #ifdef FW_BUILD_MAC
  235.     FW_Boolean                    HandleWindowEvent(Environment* ev, const FW_CMacWindowEvent& windowEvent);
  236. #endif
  237.     
  238.     // ----- Facet Management -----        
  239.     virtual void                 FacetAdded(Environment* ev, ODFacet* odFacet, unsigned short facetCount);
  240.     virtual void                 FacetRemoved(Environment* ev, ODFacet* odFacet, unsigned short facetCount);
  241.  
  242.     unsigned short                GetFacetCount(Environment* ev) const;
  243.     
  244.     // ----- Display Properties -----
  245.     virtual void                ContainingPartPropertiesUpdated(Environment *ev, ODStorageUnit* propertyUnit);
  246.     virtual ODStorageUnit*        AcquireContainingPartProperties(Environment* ev);
  247.         
  248.     // ----- Add/Remove frame notification -----
  249.     virtual void                FrameAdded(Environment* ev, ODFrame* odFrame, FW_Boolean fromStorage);
  250.     virtual void                FrameRemoved(Environment* ev, FW_Boolean toStorage);
  251.         
  252.     // ----- Focus Management -----
  253.     virtual void                 FocusStateChanged(Environment* ev, ODTypeToken focus, FW_Boolean newState, ODFrame* newOwner);    
  254.     virtual FW_Boolean            BeginRelinquishFocus(Environment *ev, ODTypeToken focus, ODFrame* proposedFrame);
  255.     virtual void                AbortRelinquishFocus(Environment *ev, ODTypeToken focus, ODFrame* proposedFrame);
  256.     virtual ODFocusSet*            GetFocusSet(Environment* ev) const;    
  257.     
  258.     virtual    void                RelinquishFocusSet(Environment *ev);
  259.     virtual FW_Boolean            RequestFocusSet(Environment *ev);
  260.         
  261.     // ----- Window Geometry -----
  262.     virtual void                AdjustZoomedWindowSize(Environment *ev, FW_CPoint& proposedSize);
  263.     virtual void                AdjustWindowGrowLimits(Environment *ev, FW_CPoint& minSize, FW_CPoint& maxSize);
  264.  
  265.     // ----- Menus -----
  266.     virtual void                InstallMenus(Environment* ev);
  267.     
  268.     // ----- ViewType/Presentation/Sequence -----
  269.     virtual void                 ViewTypeChanged(Environment* ev, ODTypeToken newViewType, ODTypeToken oldViewType);
  270.     virtual void                 PresentationChanged(Environment* ev);
  271.     virtual void                 SequenceChanged(Environment* ev);
  272.  
  273.     // ----- Frame Geometry -----
  274.     virtual void                 FrameShapeChanged(Environment* ev);
  275.     virtual void                GeometryChanged(Environment *ev,
  276.                                             ODFacet* odFacet,
  277.                                             FW_Boolean clipShapeChanged,
  278.                                             FW_Boolean externalTransformChanged);
  279.     
  280.     // ----- Requested Frame -----
  281.     FW_Boolean                    IsRequestedFrame(Environment* ev) const;
  282.                                  
  283.     // ----- Used and Update Shape -----
  284.     void                         UpdateUsedAndActiveShapes(Environment* ev);
  285.     void                        UpdateUsedShape(Environment* ev);
  286.     void                        UpdateActiveShape(Environment* ev, ODFacet* facet);
  287.  
  288.     virtual ODShape*             AdjustUsedShape(Environment* ev, ODShape* suggestedUsedShape);
  289.     virtual ODShape*             AdjustActiveShape(Environment* ev, ODFacet* facet, ODShape* suggestedActiveShape);
  290.     
  291.     // ----- Window -----
  292.     FW_CWindow*                    GetWindow(Environment* ev) const;
  293.     virtual FW_CWindow*         NewPartWindow(Environment* ev, ODFacet* facet);
  294.     
  295.     // ----- Focus -----
  296.     FW_Boolean                    HasSelectionFocus(Environment* ev) const;
  297.     FW_Boolean                    HasModalFocus(Environment* ev) const;
  298.     
  299.     // ----- Getter/Setter -----
  300.     FW_CPart*                     GetPart(Environment* ev) const;
  301.     ODPart*                     GetODPart(Environment* ev) const;
  302.  
  303.     FW_CSuperView*                GetContentView(Environment* ev) const;
  304.     void                         SetContentView(Environment* ev, FW_CSuperView* view);
  305.     
  306.     FW_Boolean                    GetFrontClicks(Environment* ev) const;
  307.     void                        SetFrontClicks(Environment* ev, FW_Boolean getFrontClicks);
  308.  
  309.     ODFacet*                     GetActiveFacet(Environment* ev) const;
  310.     virtual void                SetActiveFacet(Environment* ev, ODFacet* activeFacet);
  311.         
  312.     virtual FW_Boolean            CanBeActiveFrame(Environment* ev) const;
  313.     void                        SetCanBeActiveFrame(Environment* ev, FW_Boolean beActive);
  314.     
  315.     FW_CFrame*                    GetSourceFrame(Environment* ev);
  316.  
  317.     // ----- Cloning -----
  318.     virtual void                ClonePartInfo(Environment* ev, 
  319.                                     ODDraftKey key,
  320.                                     ODInfoType partInfo,
  321.                                     ODStorageUnitView* storageUnitView,
  322.                                     ODFrame* scope);
  323.  
  324.     // ----- Scrolling -----
  325.     FW_CScroller*                GetScroller(Environment* ev) const;
  326.     void                        AdoptScroller(Environment* ev, FW_CScroller* scroller);
  327.  
  328.     // ----- Clipboard -----
  329.     FW_Boolean                    HasPropertyOnClipboard(Environment* ev, 
  330.                                     ODPropertyName propertyName, 
  331.                                     ODValueType type);
  332.         
  333.     // ----- Rendering -----
  334.     virtual FW_Boolean            HandleDraw(Environment* ev, ODFacet* odFacet, ODShape* invalidShape);    
  335.     virtual void                 Draw(Environment* ev, ODFacet* odFacet, ODShape* invalidShape);
  336.     
  337.     virtual void                HighlightChanged(Environment* ev, ODFacet* odFacet);
  338.     virtual void                DrawHighlight(Environment *ev, ODFacet* facet, ODHighlight hilite, ODShape* invalidShape);
  339.     
  340.     // ----- View As -----
  341.     virtual void                BuildThumbnail(Environment* ev, FW_CGraphicContext& gc, FW_CRect& usedRect);
  342.     virtual FW_CIcon            GetIcon(Environment* ev, short iconSize) const;
  343.     
  344.     // ----- Content -----
  345.     void                        GetContentExtent(Environment* ev, FW_CPoint& extent) const;
  346.     ODShape*                     AcquireContentShape(Environment *ev);
  347.     
  348.     // ----- Commands/Undo -----
  349.     virtual FW_CClipboardCommand*    NewClipboardCommand(Environment* ev, ODCommandID commandID);
  350.         // Override to return a subclass of FW_CClipboardCommand
  351.     
  352.     // ----- Printing ------
  353.     virtual FW_CPrintHandler*    NewPrintHandler(Environment* ev);
  354.  
  355.     // ----- Persistence -----
  356.     virtual void                InternalizeFrame(Environment* ev, ODStorageUnitView* storageUnitView);
  357.     virtual void                ExternalizeFrame(Environment* ev, ODStorageUnitView* storageUnitView);
  358.  
  359. private:
  360. #ifdef FW_BUILD_WIN
  361.     void                        CreateShadowWindow(Environment* ev);
  362.     static LRESULT CALLBACK     ShadowWindowProc(HWND hWnd, UINT msg,
  363.                                              WPARAM wParam, LPARAM lParam);
  364.     void                        MoveSizeShadowWindow(Environment* ev);
  365.     
  366. public:
  367.     ODPlatformWindow            GetShadowWindow(Environment* ev) const;
  368. #endif
  369.  
  370. //----------------------------------------------------------------------------------------
  371. //    Internal API
  372. //
  373. protected:
  374.     virtual void                PrivCreateSubViewsFromStream(Environment* ev, FW_CReadableStream& stream);
  375.     void                        PrivGetFrameShapeBounds(Environment* ev, FW_CRect& rect) const;
  376.         
  377. #ifdef FW_BUILD_MAC
  378.      void                         PrivMacInGrowBox(Environment* ev, const FW_CMacWindowEvent& windowEvent);
  379. #endif
  380.  
  381.     // ----- Focus handling -----
  382.     void                        PrivRelinquishFocusSet(Environment* ev);
  383.     FW_Boolean                    PrivRequestFocusSet(Environment* ev);
  384.  
  385. public:    
  386.     virtual void                PrivDragging(Environment *ev, FW_Boolean state);
  387.  
  388.     void                         PrivActivateFrame(Environment* ev, ODFacet* activatedFacet);
  389.     virtual void                PrivAttachSourceFrame(Environment* ev, FW_CFrame* sourceFrame);
  390.  
  391.     FW_EInternalizeResult        PrivHandleInternalizeScrap(Environment* ev, ODStorageUnit* sourceSU, ODCloneKind cloneKind);
  392.     void                        PrivHandleExternalizeScrap(Environment* ev, FW_EStorageKinds storageKind, ODStorageUnit* destinationSU, ODCloneKind cloneKind);
  393.  
  394.     FW_Boolean                    PrivActiveWindowOnMouseDown(Environment* ev, ODFacet* facet, FW_Boolean clickedInFrame);
  395.     FW_CWindow*                    PrivCreateWindow(Environment* ev, ODWindow* odWindow);
  396.  
  397.     ODTypeToken                    PrivGetPreviousViewType(Environment *ev) const;
  398.     void                        PrivSetPreviousViewType(Environment *ev, ODTypeToken viewType);
  399.  
  400.     void                        PrivCreateViewAs(Environment* ev);
  401.  
  402.     void                        PrivContentViewLocationChanged(Environment* ev, const FW_CPoint& newLocation);
  403.     void                        PrivRealignInternalTransform(Environment* ev);
  404.     
  405.     FW_Boolean                    PrivInSharedWindow(Environment *ev) const;
  406.     
  407.     void                        PrivFacetAdded(Environment *ev, ODFacet* facet);
  408.     void                        PrivFacetRemoved(Environment *ev, ODFacet* facet);
  409.     
  410.     void                        PrivSetDraggable(Environment *ev, FW_MDraggableFrame* draggable);
  411.     void                        PrivSetDroppable(Environment *ev, FW_MDroppableFrame* droppable, FW_Boolean isDroppable);
  412.     
  413.     void                        PrivSetDragPending(Environment *ev, FW_Boolean pending);
  414.     
  415.     void                        PrivUpdateScrollParameters(Environment *ev, FW_Boolean notify = TRUE);
  416.     FW_CPoint                    PrivGetContentViewOffset(Environment* ev) const;
  417.  
  418.     void                        PrivSetRequestedFrame(Environment *ev);
  419.     
  420.     FW_DroppableState            PrivGetDroppableState() const;
  421.     void                        PrivSetDroppableState(FW_DroppableState droppableState);
  422.  
  423.     FW_Boolean                     PrivSubViewsCreated(Environment*);
  424.     
  425.     virtual void                PrivButtonAttached(Environment *ev, FW_CButton* button);
  426.  
  427. //----------------------------------------------------------------------------------------
  428. //    Data Members
  429. //
  430. private:
  431.     ODStorageUnitID             fFrameID;                // Id for this display frame
  432.     ODFrame*                    fODFrame;                // OpenDoc frame
  433.     FW_CPart*                    fPart;
  434.     FW_ResourceId                fResourceId;            // 0 if views not created from resources
  435.  
  436.     FW_MEventHandler*            fTarget;                // For key/menu/idle events, never NULL
  437.       FW_CSuperView*                fContentView;              // View displaying the content (or frame itself)
  438.     FW_Boolean                    fGetFrontClicks;
  439.     FW_Boolean                    fNeedsFoci;                // To remember active frame during activate/deactivate events
  440.     FW_Boolean                    fHasSelectionFocus;        // TRUE when frame has the selection focus
  441.     ODFacet*                    fActiveFacet;            // Active facet for this frame
  442.     FW_Boolean                    fCanBeActiveFrame;        // FALSE for floating window frames
  443.     FW_CPresentation*            fPresentation;
  444.     FW_CWindow*                    fWindow;
  445.     unsigned short                fFacetCount;
  446.     ODTypeToken                    fPreviousViewType;
  447.     FW_CViewAs*                    fViewAs;
  448.     FW_CIdler*                    fIdler;
  449.     
  450.     FW_MDraggableFrame*            fDraggable;
  451.     FW_MDroppableFrame*            fDroppable;
  452.     FW_DroppableState            fDroppableState;
  453.     
  454.     FW_CScroller*                fScroller;
  455.     
  456.     FW_CView*                    fViewUnderCursor;        // To handle MouseEnter/Within/Leave events
  457.     FW_Boolean                    fRequestedFrame;        // TRUE if the frame has been gotton thru RequestEmbeddedFrame
  458.     FW_Boolean                    fInSharedWindow;        // [HLX] hack for shared window
  459. #ifdef FW_BUILD_WIN
  460.     ODPlatformWindow            fShadowWindow;
  461. #endif
  462.     FW_Boolean                    fInternalTransformRealigmentNeeded;
  463.     FW_CPoint                    fContentViewOffset;        // content view location in frame coordinates
  464.     FW_Boolean                    fSubViewsCreated;        // FALSE initialy. TRUE the first time subviews are created.
  465.     FW_CFrame*                    fSourceFrame;            
  466. };
  467.  
  468.  
  469. //========================================================================================
  470. //    Inlines
  471. //========================================================================================
  472.  
  473. //----------------------------------------------------------------------------------------
  474. // FW_CFrame::PrivGetContentViewOffset
  475. //----------------------------------------------------------------------------------------
  476. inline FW_CPoint FW_CFrame::PrivGetContentViewOffset(Environment*) const
  477. {
  478.     return fContentViewOffset;
  479. }
  480.  
  481. //----------------------------------------------------------------------------------------
  482. //    FW_CFrame::GetDraggable
  483. //----------------------------------------------------------------------------------------
  484. inline FW_MDraggableFrame* FW_CFrame::GetDraggable(Environment*) const
  485. {
  486.     return fDraggable;
  487. }
  488.  
  489. //----------------------------------------------------------------------------------------
  490. //    FW_CFrame::GetDroppable
  491. //----------------------------------------------------------------------------------------
  492. inline FW_MDroppableFrame* FW_CFrame::GetDroppable(Environment*) const
  493. {
  494.     return fDroppable;
  495. }
  496.  
  497. //----------------------------------------------------------------------------------------
  498. //    FW_CFrame::PrivSetDraggable
  499. //----------------------------------------------------------------------------------------
  500. inline void FW_CFrame::PrivSetDraggable(Environment*, FW_MDraggableFrame* draggable)
  501. {
  502.     fDraggable = draggable;
  503. }
  504.     
  505. //----------------------------------------------------------------------------------------
  506. //    FW_CFrame::GetFacetCount
  507. //----------------------------------------------------------------------------------------
  508. inline unsigned short FW_CFrame::GetFacetCount(Environment*) const
  509. {
  510.     return fFacetCount;
  511. }
  512.  
  513. //----------------------------------------------------------------------------------------
  514. //    FW_CFrame::PrivInSharedWindow
  515. //----------------------------------------------------------------------------------------
  516. inline FW_Boolean FW_CFrame::PrivInSharedWindow(Environment*) const
  517. {
  518.     return fInSharedWindow;
  519. }
  520.  
  521. //----------------------------------------------------------------------------------------
  522. //    FW_CFrame::GetFrontClicks
  523. //----------------------------------------------------------------------------------------
  524. inline FW_Boolean FW_CFrame::GetFrontClicks(Environment*) const
  525. {
  526.     return fGetFrontClicks;
  527. }
  528.  
  529. //----------------------------------------------------------------------------------------
  530. //    FW_CFrame::SetFrontClicks
  531. //----------------------------------------------------------------------------------------
  532. inline void FW_CFrame::SetFrontClicks(Environment*, FW_Boolean getFrontClicks)
  533. {
  534.     fGetFrontClicks = getFrontClicks;
  535. }
  536.  
  537. //----------------------------------------------------------------------------------------
  538. //    FW_CFrame::GetPart
  539. //----------------------------------------------------------------------------------------
  540. inline FW_CPart* FW_CFrame::GetPart(Environment*) const
  541. {
  542.     return fPart;
  543. }
  544.  
  545. //----------------------------------------------------------------------------------------
  546. //    FW_CFrame::GetScroller
  547. //----------------------------------------------------------------------------------------
  548. inline FW_CScroller* FW_CFrame::GetScroller(Environment*) const
  549. {
  550.     return fScroller;
  551. }
  552.  
  553. //----------------------------------------------------------------------------------------
  554. //    FW_CFrame::GetContentView
  555. //----------------------------------------------------------------------------------------
  556. inline FW_CSuperView* FW_CFrame::GetContentView(Environment*) const
  557. {
  558.     return (fContentView == NULL) ? (FW_CSuperView*)this : fContentView;
  559. }
  560.  
  561. //----------------------------------------------------------------------------------------
  562. //    FW_CFrame::GetActiveFacet
  563. //----------------------------------------------------------------------------------------
  564. inline ODFacet* FW_CFrame::GetActiveFacet(Environment*) const
  565. {
  566.     return fActiveFacet;
  567. }
  568.  
  569. //----------------------------------------------------------------------------------------
  570. //    FW_CFrame::SetCanBeActiveFrame
  571. //----------------------------------------------------------------------------------------
  572. inline void FW_CFrame::SetCanBeActiveFrame(Environment*, FW_Boolean beActive)
  573. {
  574.     fCanBeActiveFrame = beActive;
  575. }
  576.  
  577. //----------------------------------------------------------------------------------------
  578. //    FW_CFrame::ChangeUsedShape
  579. //----------------------------------------------------------------------------------------
  580. inline void FW_CFrame::ChangeUsedShape(Environment* ev, ODShape* newUsedShape, ODCanvas* biasCanvas)
  581. {
  582.     fODFrame->ChangeUsedShape(ev, newUsedShape, biasCanvas);
  583. }
  584.  
  585. //----------------------------------------------------------------------------------------
  586. //    FW_CFrame::GetODFrame
  587. //----------------------------------------------------------------------------------------
  588. inline ODFrame* FW_CFrame::GetODFrame(Environment*) const
  589. {
  590.     return fODFrame;
  591. }
  592.  
  593. //----------------------------------------------------------------------------------------
  594. //    FW_CFrame::PrivGetPreviousViewType
  595. //----------------------------------------------------------------------------------------
  596. inline ODTypeToken FW_CFrame::PrivGetPreviousViewType(Environment*) const
  597. {
  598.     return fPreviousViewType;
  599. }
  600.  
  601. //----------------------------------------------------------------------------------------
  602. //    FW_CFrame::PrivSetPreviousViewType
  603. //----------------------------------------------------------------------------------------
  604. inline void FW_CFrame::PrivSetPreviousViewType(Environment*, ODTypeToken viewType)
  605. {
  606.     fPreviousViewType = viewType;
  607. }
  608.  
  609. //----------------------------------------------------------------------------------------
  610. //    FW_CFrame::GetFrameGroup
  611. //----------------------------------------------------------------------------------------
  612. inline ODID FW_CFrame::GetFrameGroup(Environment* ev) const
  613. {
  614.     return fODFrame->GetFrameGroup(ev);
  615. }
  616.  
  617. //----------------------------------------------------------------------------------------
  618. //    FW_CFrame::GetSequenceNumber
  619. //----------------------------------------------------------------------------------------
  620. inline ODID FW_CFrame::GetSequenceNumber(Environment* ev) const
  621. {
  622.     return fODFrame->GetSequenceNumber(ev);
  623. }
  624.  
  625. //----------------------------------------------------------------------------------------
  626. //    FW_CFrame::IsRoot
  627. //----------------------------------------------------------------------------------------
  628. inline FW_Boolean FW_CFrame::IsRoot(Environment* ev) const
  629. {
  630.     return fODFrame->IsRoot(ev);
  631. }
  632.  
  633. //----------------------------------------------------------------------------------------
  634. //    FW_CFrame::HasSelectionFocus
  635. //----------------------------------------------------------------------------------------
  636. inline FW_Boolean FW_CFrame::HasSelectionFocus(Environment*) const
  637. {
  638.     return fHasSelectionFocus;
  639. }
  640.  
  641. //----------------------------------------------------------------------------------------
  642. //    FW_CFrame::IsPersistent
  643. //----------------------------------------------------------------------------------------
  644. inline FW_Boolean FW_CFrame::IsPersistent(Environment* ev) const
  645. {
  646.     return fODFrame->GetStorageUnit(ev) != NULL;
  647. }
  648.  
  649. //----------------------------------------------------------------------------------------
  650. //    FW_CFrame::IsOverlaid
  651. //----------------------------------------------------------------------------------------
  652. inline FW_Boolean FW_CFrame::IsOverlaid(Environment* ev) const
  653. {
  654.     return fODFrame->IsOverlaid(ev);
  655. }
  656.  
  657. //----------------------------------------------------------------------------------------
  658. //    FW_CFrame::IsInLimbo
  659. //----------------------------------------------------------------------------------------
  660. inline FW_Boolean FW_CFrame::IsInLimbo(Environment* ev) const
  661. {
  662.     return FW_IsInLimbo(ev, fODFrame);
  663. }
  664.  
  665. //----------------------------------------------------------------------------------------
  666. //    FW_CFrame::IsFrozen
  667. //----------------------------------------------------------------------------------------
  668. inline FW_Boolean FW_CFrame::IsFrozen(Environment* ev) const
  669. {
  670.     return fODFrame->IsFrozen(ev);
  671. }
  672.  
  673. //----------------------------------------------------------------------------------------
  674. //    FW_CFrame::SetFrozen
  675. //----------------------------------------------------------------------------------------
  676. inline void FW_CFrame::SetFrozen(Environment* ev, FW_Boolean isFrozen)
  677. {
  678.     fODFrame->SetFrozen(ev, isFrozen);
  679. }
  680.  
  681. //----------------------------------------------------------------------------------------
  682. //    FW_CFrame::DoesPropagateEvents
  683. //----------------------------------------------------------------------------------------
  684. inline FW_Boolean FW_CFrame::DoesPropagateEvents(Environment* ev) const
  685. {
  686.     return fODFrame->DoesPropagateEvents(ev);
  687. }
  688.  
  689. //----------------------------------------------------------------------------------------
  690. //    FW_CFrame::SetPropagateEvents
  691. //----------------------------------------------------------------------------------------
  692. inline void FW_CFrame::SetPropagateEvents(Environment* ev, FW_Boolean doesPropagateEvents)
  693. {
  694.     fODFrame->SetPropagateEvents(ev, doesPropagateEvents);
  695. }
  696.  
  697. //----------------------------------------------------------------------------------------
  698. //    FW_CFrame::GetViewType
  699. //----------------------------------------------------------------------------------------
  700. inline ODTypeToken FW_CFrame::GetViewType(Environment* ev) const
  701. {
  702.     return fODFrame->GetViewType(ev);
  703. }
  704.  
  705. //----------------------------------------------------------------------------------------
  706. //    FW_CFrame::GetPresentation
  707. //----------------------------------------------------------------------------------------
  708. inline FW_CPresentation* FW_CFrame::GetPresentation(Environment*) const
  709. {
  710.     return fPresentation;
  711. }
  712.  
  713. //----------------------------------------------------------------------------------------
  714. //    FW_CFrame::IsSubframe
  715. //----------------------------------------------------------------------------------------
  716. inline FW_Boolean FW_CFrame::IsSubframe(Environment* ev) const
  717. {
  718.     return fODFrame->IsSubframe(ev);
  719. }
  720.  
  721. //----------------------------------------------------------------------------------------
  722. //    FW_CFrame::SetSubframe
  723. //----------------------------------------------------------------------------------------
  724. inline void FW_CFrame::SetSubframe(Environment* ev, FW_Boolean isSubframe)
  725. {
  726.     fODFrame->SetSubframe(ev, isSubframe);
  727. }
  728.  
  729. //----------------------------------------------------------------------------------------
  730. //    FW_CFrame::AcquireUsedShape
  731. //----------------------------------------------------------------------------------------
  732. inline ODShape* FW_CFrame::AcquireUsedShape(Environment* ev, ODCanvas* biasCanvas) const
  733. {
  734.     return fODFrame->AcquireUsedShape(ev, biasCanvas);
  735. }
  736.  
  737. //----------------------------------------------------------------------------------------
  738. //    FW_CFrame::AcquireFrameShape
  739. //----------------------------------------------------------------------------------------
  740. inline ODShape* FW_CFrame::AcquireFrameShape(Environment* ev, ODCanvas* biasCanvas) const
  741. {
  742.     return fODFrame->AcquireFrameShape(ev, biasCanvas);
  743. }
  744.  
  745. //----------------------------------------------------------------------------------------
  746. //    FW_CFrame::AcquireContainingFrame
  747. //----------------------------------------------------------------------------------------
  748. inline ODFrame* FW_CFrame::AcquireContainingFrame(Environment* ev) const
  749. {
  750.     return fODFrame->AcquireContainingFrame(ev);
  751. }
  752.  
  753. //----------------------------------------------------------------------------------------
  754. //    FW_CFrame::AcquireInternalTransform
  755. //----------------------------------------------------------------------------------------
  756. inline ODTransform* FW_CFrame::AcquireInternalTransform(Environment* ev, ODCanvas* biasCanvas) const
  757. {
  758.     return fODFrame->AcquireInternalTransform(ev, biasCanvas);
  759. }
  760.  
  761. //----------------------------------------------------------------------------------------
  762. //    FW_CFrame::AcquireODWindow
  763. //----------------------------------------------------------------------------------------
  764. inline ODWindow* FW_CFrame::AcquireODWindow(Environment* ev) const
  765. {
  766.     return fODFrame->AcquireWindow(ev);
  767. }
  768.  
  769. //----------------------------------------------------------------------------------------
  770. //    FW_CFrame::GetID
  771. //----------------------------------------------------------------------------------------
  772. inline ODID FW_CFrame::GetID(Environment*) const
  773. {
  774.     return fFrameID;
  775. }
  776.  
  777. #ifdef FW_BUILD_WIN
  778. //----------------------------------------------------------------------------------------
  779. //    FW_CFrame::GetShadowWindow
  780. //----------------------------------------------------------------------------------------
  781. inline ODPlatformWindow FW_CFrame::GetShadowWindow(Environment*) const
  782. {
  783.     return fShadowWindow;
  784. }
  785. #endif
  786.  
  787. //----------------------------------------------------------------------------------------
  788. // FW_CFrame::PrivSetRequestedFrame
  789. //----------------------------------------------------------------------------------------
  790. inline void FW_CFrame::PrivSetRequestedFrame(Environment*)
  791. {
  792.     fRequestedFrame = TRUE;
  793. }
  794.  
  795. //----------------------------------------------------------------------------------------
  796. // FW_CFrame::IsRequestedFrame
  797. //----------------------------------------------------------------------------------------
  798. inline FW_Boolean FW_CFrame::IsRequestedFrame(Environment*) const
  799. {
  800.     return fRequestedFrame;
  801. }
  802.  
  803. //----------------------------------------------------------------------------------------
  804. // FW_CFrame::GetSourceFrame
  805. //----------------------------------------------------------------------------------------
  806. inline FW_CFrame* FW_CFrame::GetSourceFrame(Environment*)
  807. {
  808.     return fSourceFrame;
  809. }
  810.  
  811. //----------------------------------------------------------------------------------------
  812. // FW_CFrame::PrivGetDroppableState
  813. //----------------------------------------------------------------------------------------
  814. inline FW_DroppableState FW_CFrame::PrivGetDroppableState() const
  815. {
  816.     return fDroppableState;
  817. }
  818.  
  819. //----------------------------------------------------------------------------------------
  820. // FW_CFrame::PrivSetDroppableState
  821. //----------------------------------------------------------------------------------------
  822. inline void FW_CFrame::PrivSetDroppableState(FW_DroppableState droppableState)
  823. {
  824.     fDroppableState = droppableState;
  825. }
  826.  
  827. //----------------------------------------------------------------------------------------
  828. // FW_CFrame::PrivSubViewsCreated
  829. //----------------------------------------------------------------------------------------
  830. inline FW_Boolean FW_CFrame::PrivSubViewsCreated(Environment*)
  831. {
  832.     return fSubViewsCreated;
  833. }
  834.  
  835.  
  836. #endif
  837.  
  838.